home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disk User Volume 4 #4
/
Commodore_Disk_User_Vol.4_4_1991_-.d64
/
screen store
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
2KB
|
39 lines
100 ifpeek(49197)<>53thenload"bin.screenstore",8,1
1000 sys49158:poke53280,0:poke53281,6:x=5
1020 print"[147] screen saver (c) m.medhurst 1990 [146]":print"[154]screen";peek(2)+1
1040 print"":print" this utility allows you to store anything";
1050 print" on the text screen including colour. ";
1060 print"up to 8 screens can be stored inthe hidden ram under the ";
1070 print"basic & kernal roms..":gosub1640:print"[147]screen";peek(2)+1
1100 print" sys49158[146][158] sets the screen counter to 0.":print
1110 print" sys49152[146][158] stores the current screen and colour and increases ";
1120 print"the screen counter by one."
1130 print" sys49155[146][158] recalls the last screen and decreases the screen";
1140 print" counter by one.":gosub1640:print"[147]screen";peek(2)+1
1170 print"[155] screens are stored and recalled on a last in first out basis."
1180 print" if the screen counter is zero and a sys49155[146][155] call is made ";
1190 print"a no screen error[146][155] will be displayed and the program will stop."
1200 print" if the screen counter is eight and a sys49152[146][155] call is made "
1210 print"a screen full error[146][155] will be displayed and the ";
1220 print"program will stop.":gosub1640:print"[147]screen";peek(2)+1
1250 print"[159] the number of screens stored can be checked by peek(2)[159] "
1260 print"any screen once stored can be recalled at random by first pokeing";
1270 print" location 2 with the screen number.";:print" (1-8)"
1290 print"eg:- poke2,5[159] followed by sys49155[146][159] will recall screen 5."
1300 gosub1640:print"[147]screen";peek(2)+1:print"[176][192][192][192][192][192][192][192][192][192][192][192][192][174]":print"[221]overlapping [221]"
1340 print"[221]menu's can [221]":print"[221]be printed [221]":print"[221]and restored[221]"
1370 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][189]":gosub1640:print"screen";peek(2)+1:print"[159][176][192][192][192][192][192][192][192][192][192][192][192][192][174]"
1410 print"[221]overlapping [221]":print"[221]menu's can [221]":print"[221]be printed [221]"
1440 print"[221]and restored[221]":print"[173][192][192][192][192][192][192][192][192][192][192][192][192][189]":gosub1640
1470 print"screen";peek(2)+1:print"[158][176][192][192][192][192][192][192][192][192][192][192][192][192][174]"
1490 print"[221]overlapping [221]":print"[221]menu's can [221]"
1510 print"[221]be printed [221]":print"[221]and restored[221]"
1530 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][189]":gosub1640:print"[147]screen";peek(2)+1
1560 print"and now to restore the screens":gosub1640:print"[147]":forde=0to1000:nextde:print"[147]"
1590 forw=1to8:sys49155:forde=0to1000:nextde:nextw:print"[147]now random screens":forde=0to1000:nextde
1610 forj=0to40:w=int(8*rnd(1)+1):poke2,w:sys49155:forde=0to150:nextde:nextj:forj=0to40
1620 w=int(8*rnd(1)+1):poke2,w:sys49155:nextj:print"[147]end of demo":end
1640 poke198,0:print"[154]":printtab(3)"press return[146]"
1650 getk$:ifk$<>chr$(13)then1650
1660 sys49152:return